
#ifndef __GPIO_H__
#define __GPIO_H__

#ifdef __cplusplus
extern "C" {
#endif

#include "main.h"

#define     LED2_GPIO_CLK_ENABLE        __HAL_RCC_GPIOA_CLK_ENABLE
#define     LED2_GPIO_PORT              GPIOA
#define     LED2_GPIO_PIN               GPIO_PIN_1

#define     LED3_GPIO_CLK_ENABLE        __HAL_RCC_GPIOA_CLK_ENABLE
#define     LED3_GPIO_PORT              GPIOA
#define     LED3_GPIO_PIN               GPIO_PIN_5

#define     LED4_GPIO_CLK_ENABLE        __HAL_RCC_GPIOA_CLK_ENABLE
#define     LED4_GPIO_PORT              GPIOA
#define     LED4_GPIO_PIN               GPIO_PIN_4


#define     Key1_GPIO_CLK_ENABLE        __HAL_RCC_GPIOA_CLK_ENABLE
#define     Key1_GPIO_PORT              GPIOA
#define     Key1_GPIO_PIN               GPIO_PIN_3

#define     Key2_GPIO_CLK_ENABLE        __HAL_RCC_GPIOA_CLK_ENABLE
#define     Key2_GPIO_PORT              GPIOA
#define     Key2_GPIO_PIN               GPIO_PIN_0

#define     LED_ON      0
#define     LED_OFF     1

#define     LED2(x)             x ? \
                                HAL_GPIO_WritePin(LED2_GPIO_PORT, LED2_GPIO_PIN, GPIO_PIN_SET): \
                                HAL_GPIO_WritePin(LED2_GPIO_PORT, LED2_GPIO_PIN, GPIO_PIN_RESET); \

#define     LED2_TOGGLE()       HAL_GPIO_TogglePin(LED2_GPIO_PORT, LED2_GPIO_PIN)

#define     LED3(x)             x ? \
                                HAL_GPIO_WritePin(LED3_GPIO_PORT, LED3_GPIO_PIN, GPIO_PIN_SET): \
                                HAL_GPIO_WritePin(LED3_GPIO_PORT, LED3_GPIO_PIN, GPIO_PIN_RESET); \

#define     LED3_TOGGLE()       HAL_GPIO_TogglePin(LED3_GPIO_PORT, LED3_GPIO_PIN)

#define     LED4(x)             x ? \
                                HAL_GPIO_WritePin(LED4_GPIO_PORT, LED4_GPIO_PIN, GPIO_PIN_SET): \
                                HAL_GPIO_WritePin(LED4_GPIO_PORT, LED4_GPIO_PIN, GPIO_PIN_RESET); \

#define     LED4_TOGGLE()       HAL_GPIO_TogglePin(LED4_GPIO_PORT, LED4_GPIO_PIN)

void PY_GPIO_Init(void);

#ifdef __cplusplus
}
#endif
#endif /*__ GPIO_H__ */